/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package talkunix;

import java.io.IOException;
import java.net.UnknownHostException;

/**
 *
 * @author Administrador
 */
public class ClienteServidor {
    private static Tela telamain;
    private static Erro telaerro;
    private static Configuracoes config;
    private static Secao nova;
    private static boolean ouvindo = false;
    public static boolean conectado =false;
  

    public static  String getUsuario(){

        return config.getusuario();
    }

    public static void Fechar() throws IOException{
        nova.Encerrar();
    }


        
    public static void Ouvir() throws IOException, InterruptedException  {

        int porta = config.getporta();
        try
        {
            System.out.println(porta);
            nova.Ouvir(porta);

//            while (!nova.getgo())
//            {
//                Thread.sleep(1000);
//            }
//            nova.Abrir();
//            conectado = true;
        }
        catch (IOException e){

            deuErro("Deu Erro!");
        }


    }

    public static void Conectar() throws UnknownHostException, IOException {

        int porta = config.getporta();
        String ip = config.getip();
        nova.Conectar(ip,porta);
        conectado = true;
    }

    public static void Enviar(String texto) throws IOException{

        System.out.println("tentando enviar 2");

        nova.Enviar(texto);

    }

    public static void Conversar() throws IOException, InterruptedException{

         String recebida;
                  System.out.println("an tes datentativa de receber ");

                  while ((recebida = nova.Recebe()) != null){
                      System.out.println("tentativa de receber ");
                      Receber(recebida);
                      Thread.sleep(1000);
                  }

    }

    public static void Receber(String s) throws IOException{

        String texto = s;

        telamain.Display(texto);
        
    }


    

     public static void deuErro(String s){

          telaerro = new Erro();
          telaerro.setVisible(true);
          telaerro.escreveErro(s);

     }

     public static void Configurar(String ip,int porta)
     {
         config.setip(ip);
         config.setporta(porta);
         
     }



     public  static void main(String args[]) throws IOException, InterruptedException{

//        java.awt.EventQueue.invokeLater(new Runnable()
//
//        {
//            private Tela telamain;
//
//            public void run() {
//
          config = new Configuracoes();
          nova = new Secao();
          telamain = new Tela();
          telamain.setVisible(true);
          System.out.println(ouvindo);
          while (true){
              Thread.sleep(1000);
              System.out.println("tentativa");
              if (conectado == true){
                  Conversar();
                  
                 
              }
          }

          
          

          

//
//
//            }
//        }
//
//
//        );
//
//
//



         
    }

}
